package com.ddwl.funds.dao.model;

import com.ddwl.common.dao.model.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Table;

/**
 * byte_dance_refund
 * @author 
 */
@ApiModel(value="字节跳动退款流水表")
@Getter
@Setter
@Table(name = "byte_dance_refund")
public class ByteDanceRefund extends BaseModel {

    /**
     * 小程序APPID
     */
    @ApiModelProperty(value="小程序APPID")
    private String appId;

    /**
     * 商户分配订单号，标识进行退款的订单
     */
    @ApiModelProperty(value="商户分配订单号，标识进行退款的订单")
    private String outOrderNo;

    /**
     * 商户分配退款号
     */
    @ApiModelProperty(value="商户分配退款号")
    private String outRefundNo;

    /**
     * 退款原因
     */
    @ApiModelProperty(value="退款原因")
    private String reason;

    /**
     * 开发者对核心字段签名,防止传输过程中出现意外
     */
    @ApiModelProperty(value="开发者对核心字段签名,防止传输过程中出现意外")
    private String sign;

    /**
     * 订单总金额，单位[分]
     */
    @ApiModelProperty(value="订单总金额，单位[分]")
    private Integer totalAmount;

    /**
     * 退款金额，单位[分]
     */
    @ApiModelProperty(value="退款金额，单位[分]")
    private Integer refundAmount;

    /**
     * 开发者自定义字段，回调原样回传
     */
    @ApiModelProperty(value="开发者自定义字段，回调原样回传")
    private String cpExtra;

    /**
     * 支付状态（0创建10提交支付20支付成功30支付失败）
     */
    @ApiModelProperty(value="支付状态（0创建10提交支付20支付成功30支付失败）")
    private Integer status;

    /**
     * 商户自定义回调地址
     */
    @ApiModelProperty(value="商户自定义回调地址")
    private String notifyUrl;

    /**
     * 第三方平台服务商 id，非服务商模式留空
     */
    @ApiModelProperty(value="第三方平台服务商 id，非服务商模式留空")
    private String thirdpartyId;

    /**
     * 是否屏蔽担保支付的推送消息，1-屏蔽 0-非屏蔽，接入POI必传
     */
    @ApiModelProperty(value="是否屏蔽担保支付的推送消息，1-屏蔽 0-非屏蔽，接入POI必传")
    private Integer disableMsg;

    /**
     * 担保支付消息跳转页
     */
    @ApiModelProperty(value="担保支付消息跳转页")
    private String msgPage;

    /**
     * 是否为分账后退款，1-分账后退款；0-分账前退款。分账后退款会扣减可提现金额，请保证余额充足
     */
    @ApiModelProperty(value="是否为分账后退款，1-分账后退款；0-分账前退款。分账后退款会扣减可提现金额，请保证余额充足")
    private Integer allSettle;

    /**
     * 状态码 0-业务处理成功
     */
    @ApiModelProperty(value="状态码 0-业务处理成功")
    private Integer errNo;

    /**
     * 错误提示信息
     */
    @ApiModelProperty(value="错误提示信息")
    private String errTips;

    /**
     * 担保交易服务端退款单号
     */
    @ApiModelProperty(value="担保交易服务端退款单号")
    private String refundNo;

    /**
     * Unix 时间戳，10 位，整型数
     */
    @ApiModelProperty(value="Unix 时间戳，10 位，整型数")
    private Integer timestamp;

    /**
     * 随机数
     */
    @ApiModelProperty(value="随机数")
    private String nonce;

    /**
     * 订单信息的 json 字符串
     */
    @ApiModelProperty(value="订单信息的 json 字符串")
    private Object msg;

    /**
     * 枚举值为 refund 标记该回调为 refund
     */
    @ApiModelProperty(value="枚举值为 refund 标记该回调为 refund")
    private String type;

    /**
     * 签名
     */
    @ApiModelProperty(value="签名")
    private String msgSignature;

    /**
     * 订单退款基本信息
     */
    @ApiModelProperty(value="订单退款基本信息")
    private Object refundInfo;

}